(i) Technical Field
The present invention relates to a rendering device, a non-transitory computer readable medium, and an image output apparatus.
(ii) Related Art
In general, rendering processing is performed in accordance with rendering instructions, and images are generated. In recent years, high-speed rendering processing has been achieved by providing plural units (rendering processors) that perform such rendering processing, compared to the case where a single rendering processor is provided. In a configuration including such plural rendering processors, for example, rendering processing is assigned to individual rendering processors in units of pages, and rendering processing for the next page is assigned to a rendering processor that has terminated processing assigned thereto.
In the case where images of plural pages are to be rendered, similar rendering instructions may be given. In such a case, a so-called “caching technique” is employed. In the caching technique, a series of rendering instructions and the results of rendering processing performed in accordance with the series of rendering instructions are stored in association with each other, and when a series of similar rendering instructions are received, corresponding rendered results are read and used. With the caching technique, processing time is shortened compared to the case where rendering processing is always performed in accordance with rendering instructions.
The caching technique may be employed for the case where plural rendering processors are provided. In this case, temporary memories are provided so as to correspond to individual rendering processors, and the rendering processors independently perform caching control. Thus, when rendering instructions are given in a regular page order and rendering processing for pages including similar rendering instructions is assigned to a single rendering processor, registration to a corresponding temporary memory is made and the corresponding temporary memory is used. However, if allocation of pages to individual rendering processors is not performed successfully, not only are rendered results stored in temporary memories not used, but registration to the temporary memories is also not performed.
For example, the case where two rendering processors, that is, a first rendering processor and a second rendering processor, are provided and images of plural pages in which odd number pages are similar to each other and even number pages are similar to each other are to be rendered will be explained. In this case, the first rendering processor performs rendering for the first page, and the second rendering processor performs rendering for the second page. If rendering for the first page is completed earlier than rendering for the second page, the first rendering processor performs rendering for the third page, which is similar to the first page. One or more similar rendering instructions and rendered results for the one or more similar rendering instructions are stored in a temporary memory, and the rendered results are used for processing for later pages. However, when the first rendering processor performs rendering for the first page and the second rendering processor performs rendering for the second page, rendering for the second page may be completed earlier than rendering for the first page. In this case, the second rendering processor performs rendering for the third page and the first rendering processor performs rendering for the fourth page. Since each of the first and second rendering processors does not perform processing for pages similar to each other, rendered results are not stored in temporary memories. Thus, rendered results are not used for later processing.